package com.cs.paoyer.common.exception;
 




/**
 * Representa una excepci�n que se genera exclusivamente por una acci�n de usuario.
 * Esta clase se crea cuando, por ejemplo, informaci�n de usuario es pasada por
 * par�metro hacia alg�n m�todo y esta informaci�n es erronea en alguna forma. El
 * llamado a un m�todo que realiza la comprobaci�n de un usuario contra una base
 * de datos levanta una excepci�n de este tipo si el usuaio no es encontrado..
 *
 * @version 0.9
 */
public class UserException
    extends BaseException {

    /**
     * Coleccion de objetos cuyo estado se debe serializar.
     */
    private Object[] objectSet;

    /**
     * Constructor basico de la clase, que inicializa el codigo del modulo y el codigo
     * del mensaje.
     *
     * @param moduleVO
     * @param messageId
     * @param objectSet
     */
    public UserException(ModuleVO moduleVO, int messageId) {
        super(moduleVO, messageId);
    }

    public UserException(ModuleVO moduleVO, int messageId,
                           String customMessage) {
        super(moduleVO, messageId, customMessage);
    }

    public UserException(ModuleVO moduleVO, int messageId, Object[] objectSet) {
        super(ModuleExceptionFactory.getModuleException(moduleVO.
            getExceptionClass()).getExceptionVO(messageId).toString());
        this.moduleVO = moduleVO;
        this.messageId = messageId;
        this.objectSet = objectSet;
    }

}